package schuchert.contest;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.junit.Test;

public class ConTestInstrumentationMainBasedClassFileTransformerPropertiesTest {
    @Test
    public void canSetDeleteFilesTrue() {
        System
                .setProperty(
                        ConTestInstrumentationMainBasedClassFileTransformer.CON_TEST_INSTRUMENTATION_DELETE_FILES,
                        "true");
        ConTestInstrumentationMainBasedClassFileTransformer transformer = new ConTestInstrumentationMainBasedClassFileTransformer();
        assertTrue(transformer.deleteFilesAfterTransformation);
    }

    @Test
    public void canSetDeleteFilesFalse() {
        System
                .setProperty(
                        ConTestInstrumentationMainBasedClassFileTransformer.CON_TEST_INSTRUMENTATION_DELETE_FILES,
                        "false");
        ConTestInstrumentationMainBasedClassFileTransformer transformer = new ConTestInstrumentationMainBasedClassFileTransformer();
        assertFalse(transformer.deleteFilesAfterTransformation);
    }

    @Test
    public void canSetTempDirectoryProperty() {
        System
                .setProperty(
                        ConTestInstrumentationMainBasedClassFileTransformer.CON_TEST_INSTRUMENTATION_TEMP_DIR,
                        "foobarbaz");
        ConTestInstrumentationMainBasedClassFileTransformer transformer = new ConTestInstrumentationMainBasedClassFileTransformer();
        assertEquals("foobarbaz", transformer.tempDirectory);
    }

    @Test
    public void canSetClassFilterProperty() {
        System
                .setProperty(
                        ConTestInstrumentationMainBasedClassFileTransformer.CON_TEST_INSTRUMENTATION_CLASS_FILTER,
                        "foobarbaz");
        ConTestInstrumentationMainBasedClassFileTransformer transformer = new ConTestInstrumentationMainBasedClassFileTransformer();
        assertEquals("foobarbaz", transformer.filterPatterns.get(0));
    }
}
